package org.sith.taskrunner.api.transformer;

import org.sith.taskrunner.api.exceptions.TransformInputDataException;
import org.sith.taskrunner.api.task.TaskInputData;

/**
 * 
 * Interface Input data for Transformers
 * 
 * @param <T>
 *            type of input data for task
 * @param <I>
 *            type of input data that must be transformed
 */
public interface InputDataTransofrmer<T extends TaskInputData, I> {
	/**
	 * 
	 * @param inputData
	 *            for transforming
	 * @return result of transforming
	 * @throws TransformInputDataException
	 */
	public T transform(I inputData) throws TransformInputDataException;
}
